define(['jquery', '_base', 'layer_m', 'tips'], function ($, _base, layer, Tips) {
    function load() {
        var layerIndex = layer.open({
            type: 2,
            //shade: false,
            time: 10
            //content: '加载测试中…',
        });

        return layerIndex;
    }

    function close(index) {
        layer.close(index);
    }
    

    // 关闭所有layer的弹窗
    function closeAll() {
        layer.closeAll();
    }

    function confirm(opts) {
        var layerIndex = layer.open({
            type: 1,
            content: '<div style="width:500px;font-family:\'微软雅黑\';">' +
                        '<h2 style="width:100%;text-align:center;color:#595757;height:50px;line-height:50px;padding:0;margin:0;font-size:24px;">' +
                        '<span style="margin-left:12px;">' + opts.title + '</span></h2>' +
                        '<div style="line-height:24px;padding:0 24px;margin:0;text-align:left;padding-top:15px;padding-bottom:30px;font-size:20px;">' +
                        '<p style="margin:0;">' + opts.content + '</p>' +
                        '</div>' +
                        '<div style="text-align:center;padding-bottom:20px;overflow:hidden;">' +
                        '<div style="width:50%;float:left;"><button type="button" class="btn btn-danger btn-lg" style="margin:0 5px;padding-left:40px;padding-right:40px;" id="confirm-no">' + opts.btnName[0] + '</button></div>' +
                        '<div style="width:50%;float:left;"><button type="button" class="btn btn-danger btn-lg" style="margin:0 5px;padding-left:40px;padding-right:40px;" id="confirm-yes">' + opts.btnName[1] + '</button></div>' +
                        '</div>' +
                    '</div>',
            shadeClose: false
        });
        $("#confirm-no").off("click").on("click", function () {
            if (!!opts.no) {
                opts.no();
            }
        });
        $("#confirm-yes").off("click").on("click", function () {
            if (!!opts.yes) {
                opts.yes();
            }
        });
        return layerIndex;
    }

    function tips(opts) {
        $(opts.id).tips({   //selector 为jquery选择器
            msg: opts.content,    //你的提示消息  必填
            side: 1,  //提示窗显示位置  1，2，3，4 分别代表 上右下左 默认为1（上） 可选
            color: '#FFF', //提示文字色 默认为白色 可选
            bg: '#E50013',//提示窗背景色 默认为红色 可选
            time: opts.time || 2,//自动关闭时间 默认2秒 设置0则不自动关闭 可选
            x: 0,//横向偏移  正数向右偏移 负数向左偏移 默认为0 可选
            y: 0,//纵向偏移  正数向下偏移 负数向上偏移 默认为0 可选
        });
    }

    // 图片路径替换
    function imgSrcReplace(opts) {
        if (opts.length > 0) {
            $.each(opts, function (i, item) {
                var $this = $(item);
                var imgSrc = $this.attr("data-src");
                var img = new Image();
                img.src = imgSrc;
                if (img.complete) {
                    $this.attr("src", imgSrc);
                } else {
                    img.onload = function () {
                        $this.attr("src", imgSrc);
                    }
                }
            })
        }
    }

    function backTop() {
        $('body,html').animate({ scrollTop: 0 }, 500);
    }

    function getHref() {
        return window.location.href.indexOf("#") > 0 ? window.location.href.split("#")[0] : window.location.href;
    }

    function getTouchStart() {
        var TOUCHSTART = 'click';
        //正常的触摸事件判断
        //if (typeof (window.ontouchstart) != 'undefined') {
        //    TOUCHSTART = 'touchstart';
        //    //微软的触摸事件
        //} else if (typeof (window.onmspointerdown) != 'undefined') {
        //    TOUCHSTART = 'MSPointerDown';
        //} else {
        //    TOUCHSTART = 'click';
        //}

        return TOUCHSTART;
    }
    function getAjaxUrl() {
        var url = BASEPATH + 'Api/';
        return {
            goodsList: url + 'List',
            goodsDetail: url + 'Details',
            nav: url + 'Category',
            netPoint: url + 'GetNetPointListAndDistrict',
            netPointInfo: url + 'GetNetPointInfo',
            sendVerifCode: url + 'SendVerifCode',
            orderCreate: url + 'OrderCreate',
            OrderStatusQueryAndUpdate: url + 'OrderStatusQueryAndUpdate',
            GetPayTypeList: url + 'GetPayTypeList'
        }
    }

    return {
        imgSrcReplace: imgSrcReplace,
        getTouchStart: getTouchStart,
        load: load,
        close: close,
        closeAll: closeAll,
        backTop: backTop,
        confirm: confirm,
        tips: tips,
        getHref: getHref,
        getAjaxUrl: getAjaxUrl
    };
});